package cn.micro.system.manage.entity;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.List;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * <p>
 * 定制产品申请表
 * </p>
 *
 * @author wr
 * @since 2024-01-09
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class AssetOdsCustomizedProductsApply implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 定制ID
     */
    @TableId(type = IdType.AUTO)
    private String id;

    /**
     * 产品名称
     */
    private String name;

    /**
     * 产品描述
     */
    private String productDesc;

    /**
     * 产品类型
     */
    private String typeId;

    /**
     * 用户ID
     */
    private String userId;

    /**
     * 预计完成时间
     */
    private LocalDate estimatedFinishedTime;

    /**
     * 预算费用
     */
    private BigDecimal budgetFees;

    /**
     * 实际费用
     */
    private BigDecimal actualFees;

    /**
     * 状态(0：待通过 1：已通过)
     */
    private Integer status;

    /**
     * 申请状态0：待审批，1：审判通过，2：审批不通过
     */
    private Integer applyStatus;

    /**
     * 审批说明
     */
    private String approvedDesc;

    /**
     * 审批者
     */
    private Long approvedBy;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 创建者ID
     */
    private Long createBy;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 更新者ID
     */
    private Long updateBy;

    /**
     * 逻辑删除（0：未删除，1：已删除）
     */
    private Integer isDeleted;

    @TableField(exist = false)
    private List<String> fileIds;

    public static final String ID = "id";

    public static final String NAME = "name";

    public static final String PRODUCT_DESC = "product_desc";

    public static final String TYPE_ID = "type_id";

    public static final String USER_ID = "user_id";

    public static final String ESTIMATED_FINISHED_TIME = "estimated_finished_time";

    public static final String BUDGET_FEES = "budget_fees";

    public static final String ACTUAL_FEES = "actual_fees";

    public static final String STATUS = "status";

    public static final String APPLY_STATUS = "apply_status";

    public static final String APPROVED_DESC = "approved_desc";

    public static final String APPROVED_BY = "approved_by";

    public static final String CREATE_TIME = "create_time";

    public static final String CREATE_BY = "create_by";

    public static final String UPDATE_TIME = "update_time";

    public static final String UPDATE_BY = "update_by";

    public static final String IS_DELETED = "is_deleted";

}
